Conversation
…lines
The mixing MO creation in _action_done created move lines with qty_done
first, then called action_assign expecting Odoo to merge the reservation
into those existing lines. This merge relies on a UoM round-trip check
in _update_reserved_quantity that fails when the quant quantity has more
decimal precision than the UoM rounding allows. When the merge fails,
a second line is created for the same lot — one with only product_uom_qty
and one with only qty_done — making the MO impossible to complete
("cannot unreserve more products than you have in stock").
The fix follows the standard Odoo pattern: call action_assign first to
create proper reservation lines, then set qty_done on those lines by
matching lot_id. This eliminates the dependency on the merge and prevents
split lines regardless of UoM rounding configuration.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 14.0 #873 +/- ##
==========================================
+ Coverage 50.63% 50.72% +0.08%
==========================================
Files 979 979
Lines 16724 16752 +28
Branches 3562 3566 +4
==========================================
+ Hits 8469 8497 +28
Misses 8038 8038
Partials 217 217 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
qty_donefirst, then relied on Odoo's_update_reserved_quantityto merge the reservation — a UoM round-trip check could fail and create a second line insteadaction_assign, then setqty_doneon the reserved lines by matchinglot_idTest plan